//
//  RegularValidate.m
//  Validate
//
//  Created by lanou on 15/11/7.
//  Copyright (c) 2015年 lanou. All rights reserved.
//

#import "RegularValidate.h"

@implementation RegularValidate

+(BOOL)validatePhone:(NSString *)phone{
    /**
     * 手机号码
     * 移动：134x(0-8)、135、136、137、138、139、150、151、152、157、158、159、178、182、183、184、187、188
     * 联通: 130、131、132、155、156、176、185、186
     * 电信: 133、153、180、181、189、1349
     */
    // 电话号码正则表达式
    NSString *mobile = @"^1(3[0-9]|5[0-35-9]|7[68]|8[0-9])\\d{8}$";
    // 中国移动正则表达式
    NSString *chinaMobile = @"^1(34[0-8]|(3[5-9]|5[0-27-9]|78|8[2-478])\\d)\\d{7}$";
    // 中国联通正则表达式
    NSString *chinaUnicom = @"^1(3[0-2]|5[56]|76|8[56])\\d{8}";
    // 中国电信正则表达式
    NSString *chinaTelecom = @"^1(((33|53|8[019])[0-9])|349)\\d{7}";
    
    NSPredicate *regexMobile = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",mobile];
    NSPredicate *regexChinaMobile = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",chinaMobile];
    NSPredicate *regexChinaUnicom = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",chinaUnicom];
    NSPredicate *regexChinaTelecom = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",chinaTelecom];
    if ([regexMobile evaluateWithObject:phone] || [regexChinaMobile evaluateWithObject:phone] || [regexChinaTelecom evaluateWithObject:phone] || [regexChinaUnicom evaluateWithObject:phone]) {
        if ([regexChinaMobile evaluateWithObject:phone]) {
            NSLog(@"China Mobile");
        }else if ([regexChinaUnicom evaluateWithObject:phone]){
            NSLog(@"China Unicom");
        }else if ([regexChinaTelecom evaluateWithObject:phone]){
            NSLog(@"China Telecom");
        }
        return YES;
    }else{
        return NO;
    }
}

// 邮箱验证
+(BOOL)validateEmail:(NSString *)email{
    NSString *regexEmail = @"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[A-Za-z]{2,4}";
    NSPredicate *emailPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regexEmail];
    return [emailPredicate evaluateWithObject:email];
}


@end
